System for producing a three dimension surface

ABSTRACT

A helical working locus caused by the co-operational movements between a tool and a workpiece is represented by a number of pairs which consist of values of accumulated unit angles and unit leads. A storage device stores the co-ordinates of N2 (N &gt; OR = 3) points derived from a data source which stores input data of all of the co-ordinates representing a desired three dimension surface. A calculator sets up N functions of an angle in accordance with the co-ordinates of the N2 points in order to calculate the value of each of the N functions of the angle with respect to the angle of the number of pairs. Another calculator sets up a function of a lead in accordance with the calculated values in order to calculate the radius of the point represented by the number of pairs. An interpolator distributes electric pulses to a controller of a numerically controlled machine tool which operably supports the tool and the workpiece along the point represented in three dimension by the number of pairs and the calculated radius.

United States Patent [191 Watanabe et al.

[5 SYSTEM FOR PRODUCING A THREE DIMENSION SURFACE Inventors: Yasuo Watanabe, Nagoya; Hiroaki Aseno, Chiryu; Kunihiko Eto, Karlya, all of Japan Toyoda Koki Kabushiki Kaisha, Kariya-shi, Aichi-ken, Japan Filed: Feb. 3, 1972 Appl. No.: 222,937

[73] Assignee:

Foreign Application Priority Data Feb. 3, 1971 Japan 46/4423 [56] References Cited UNITED STATES PATENTS 11/1971 Kimura et a1. ..235/l51.ll 6/1967 Murakami 235/l5l.l1 X

l/1972 Okamoto et al. 235/152 9/1971 7 lzumi et a1. 318/572 X [11] 35mm [4 1 Oct. 16, 1973 Primary ExaminerCharles E. Atkinson Assistant ExaminerJerry Smith Attorney-Norman F. Oblon et a1.

[5 7] ABSTRACT A helical working locus caused by the co-operational movements between a tool and a workpiece is represented by a number of pairs which consist of values of accumulated unit angles and unit leads. A storage device stores the co-ordinates of N (N 3) points derived from a data source which stores input data of all of the co-ordinates representing a desired three dimension surface. A calculator sets up N functions of an angle in accordance with the co-ordinates of the N 2 points in order to calculate the value of each of the N functions of the angle with respect to the angle of the number of pairs. Another calculator sets up a function of a lead in accordance with the calculated values in order to calculate the radius of the point represented by the number of pairs. An interpolator distributes electric pulses to a controller of a numerically controlled machine tool which operably supports the tool and the workpiece along the point represented in three dimension by the number of pairs and the calculated radius.

3 Claims, 7 Drawing Figures CAL EULA TING near/l7 camp/m4 m; b

PATENTED B 161973 3. 766,359

SHEET 10F 4 INTEEPOLA 70,6

SYSTEM FOR PRODUCING A THREE DIMENSION SURFACE BACKGROUND OF THE INVENTION The present invention relates to systems for producing a three dimension surface which varies in either or both the radial and the axial direction on a workpiece- ,and more particularly to such a system which permits the production of a three dimension surface on a workpiece with increased accuracy by simultaneously controlling the co-operative movements of the three dimensions of the workpiece and a grinding wheel or a tool of the machine tool.

As an example of a three dimension surface produced by the system according to the present invention is a piston for an internal-combustion engine. The sectional profiles of the piston which are perpendicular to its axis are oval and the ellipticity of the oval of each section gradually changes in accordance with the axial position of each section. In the past,in the production of such a three dimension surface, the tool was radially moved in co-operation with the rotation of the workpiece to produce a profile of a section of the workpiece by each rotation. The axial position of the section to be machined was shifted by a unit amount each time the workpiece was rotated 360. Thus, the three dimension surface was produced. However, while generally satisfactory, such a system causes the peripheral surface of the workpiece to receive-axial tool marks. Additionally,the rotation of the workpiece had to be temporarily stopped when the working position was axially moved in order to work the following sections. Accordingly, the machiningaccuracy and efficiency were somewhat reduced.

SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a new and improved system for efficiently and accurately producing an approximated three dimension surface on a workpiece by helically controlling the cooperationa] movements between an operative tool and a workpiece in the three dimension directions in accordance with numerical information.

It is another object of the present invention to provide a new and improved working system having a pulse distributing system for interpolating the co.- ordinates of the points representing a helical working locus of the co-operational movements between an operative tool and a workpiece with reference to input data of the co-ordinates representing a desired three dimension surface. Still another object of the present invention is to provide a new and improved working system having a device for producing a numbe'r'of pairs consisting of angles and leads for co-ordinately representing the helical working locus by accumulatinga unit angle and a unit lead which are predetermined with reference to the helical working locus.

Briefly,according to-the present invention,these and other objects are achieved by providing a numerically controlled machine tool having at least one controller and a pulse distributing system as mentioned below. A storage device stores the co-ordinates of N (N a natural number more than 3 points derived from a data source which is provided for storing input data of all of the co-ordinate values representing a desired three dimension surface. Accumulating means are provided to accumulate a unit angle and a unit lead to provide a number of pairs consisting of angles and leads to coordinately represent a helical working locus. The unit angle is predetermined so as to divide the helical working locus at constant angular intervals. The unit lead is predetermined correspondingly to the unit angle to thereby divide the lead of the helical working locus at regular intervals. A calculator sets up N functions of an angle in accordance with the co-ordinate values of the derived N points in order to calculate the value of each of the N functions of the angle with respect to the angle of the number of pairs. Another calculator sets up a function of a lead by the calculated values of the N functions of the angle in order to calculate the radius ofa point represented by the number of pairs by substituting the lead of the number of pairs into the function of the lead. An interpolator distributes electric pulses to the controller along the point represented by the number of pairs and the calculated radius.

BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and other objects of the present invention will be more fully appreciated as the same becomes better understood from the following detailed description of a preferred embodiment when considered in connection with the accompanying Drawings,in which: I

- FIG. 1 is a schematic view showing a machining apparatus and a block diagram of a control therefor according to the working system of the present invention;

FIG. 2 is a schematic view showing the co-ordinate elements of a workpiece to be worked and a helical working locus of an operative tool;

FIG. 3 shows a detailed block diagram of the control system of-FIG. 1; 7

FIGS. 4 and 5 are schematic views for respectively explaining how to select the lead and the radius of the peripheral end of a grinding wheel;

FIG. 6 is a graph for'explaining how to select a dividing angle segment of a unit angle 0 and,

FIG. 7 is a schematic view fragmentally showing a three dimension surface to be produced on a workpiece and the operational principles for interpolating the coordinates of the points on a helical working locus.

DESCRIPTION OF A PREFERRED EMBODIMENT Referring now to the Drawings,wherein like reference numerals refer to identical orcorresponding parts throughout the several views, and more particularly to FIG. 1 thereof,wherein anumerically controlled grinding machine 10 is shown as being contained in the working system of the presentinvention- A workpiece W ,shown by phantom line, is ground by a rotating grinding wheel 14 so as to have a desired'three dimension surface thereon. The workpiece W is rotatably supported at center 30 between a headstock ll-and a tailstoc k 12 which are'fixedly mounted on a work table 13. The grinding wheel 14 is rotatably mounted on a wheel head 15. A wheel slide 18 slidably mounts the wheel head 15. The work table 13 and the wheel slide 18 are slidably mounted in a well known manner on a bed so as to be in a direction perpendicular to each other. The work table 13 is threadedly engaged with a feed screw (not shown) at the nut portion downwardly projected therefrom. The end of the feed screw is drivingly connected to a servo-motor 17 through a reduction gearing 16. The servo-motor 17 rotates in response to electric pulses applied thereto. In the same manner the wheel head 15 is threadedly engaged with a feed screw which is rotated by a servo-motor 22 through a reduction gearing 21 mounted on the rear of the wheel slide 18. The wheel slide 18 is moved toward and away from the workpiece W by the rotation of another feed screw which is selectively connected through a clutch to a hand wheel 23 and an adequate power driving device (not shown), as well known to those skilled in the art. A motor 24 is mounted on the wheel head 15 to rotate the grinding wheel 14 through a belt 29. A spindle 31 is rotatably mounted in the headstock 11 for rotation by a servo-motor 32through an adequate gearing in the headstock 11. Servo-motors 17, Hand 32 are operated with relation to each other in accordance with control pulses transmitted from a numerical controller NC so that the peripheral surface of the workpiece W may be ground by the grinding wheel 14 along a predetermined working locus described in detail hereinafter. In such a manner,a three dimension surface which varies in either the axial or the radial direction is provided. In other words,a workpiece rotary angle i ,a radial feed amount li'of the grinding wheel 14, and a feed amount zi of the table 13 are simultaneously and continuously controlled so that the grinding point of the grinding wheel 14 may be helically moved in operating engagement with the workpiece W under a constant grinding condition, without a break, over the whole periphery of the workpiece W, as shown in FIG. 2.

Referring now to FIG. 3, a detailed diagram of the control system for the present. invention is shown wherein a sign K, designates a fixed, register which storesaninitial value 0, of a unit angle which is defined, in a manner described in detail hereinafter, so as to divide the helical working locus at constant angular intervals. A fixed register K stores an initial value z, of a lead which is defined, in a manner'described in detail hereinafter,so as-to divide the lead of the helical working locus at regularintervals corresponding to the unit angle 0,. Signs T, andT indicate accumulators which are respectively connected to the fixed registers K, and K for accumulatingthe unit angle 0, andthe unit lead z, each time gates G, and G, which are respectively connected'thereto are opened. Registers R and R,, are connected to the accumulators T, and T to store the accumulated values,which are transmitted to the accumulators T, and T, through thegateS G, and G when thegates G, and G, are opened. The registers R,, and R,, are reset so as. to be initially held in a zero state.

When the gates G, and G 'ar'e ,opened,the contents of the registers R,, and R,,ai'e respectively changed to the states/0, andz, during' a first adding operation. During a second adding operation the contentsof the registers R and R,,are:respectivelychanged .to the states 0 and z, whichare equal to 20, and 2z,. Thus,t he accumulating device mentioned above is provided so as to produce a group of separate numbers, consisting of a number of pairs (0,, z,),,(0 z,'),- '7 of anglesand leads which represent the helical: workin locus by the points A, B, C, as shown on the -Z co-ordinates'of FIG. 7. Theico-ordin'ate values of jthe radius of the points A, B, C, arecalculated by calculating devices which will b'edescribe'd hereinafter with reference to the input data of the co-ordinates so as to represent a desired profile of theperipheral surface of the workpiece W. The exemplary workpiece shown in FIG. 2 is of a hand-drum-like shape and is to be provided with a desired profile. The sectional profiles perpendicular to the axis of the workpiece of FIG. 2 are oval. The ellipticity of the oval of each section radially changes in accordance with the axial position of each section. The workpiece W has the largest oval section on the central portion thereof.

The input data (Li, i, Zi) of the desired profile are preliminarily providedin a data source DS for storage on a permanent record such as a punched tape,a magnetic tape and the like. A data storage register DR is connected to the data source DS for storing the data of the co-ordinates of the three squared (nine) points,for p the Points m 21 an 12 22 32 13 23 and P in FIG. 7, which are obtained from the data source DS. It should be understood that these points are positioned in the state of a lattice on the peripheral surface of the workpiece W. A calculating circuit H, is connected to the data storage register DR to set up a quadratic function of the angle L f (0) which represents a curve smoothly connecting the three points, for example,the points P,,, P and R,,, on the -L coordinates. In the same manner,two quadratic functions of the angle are set up by the calculating circuit H, with reference to the resting points,for example,pointsP, P P P,,,, P,,, and P 3,. Registers R,, R, and R, are connected to the first calculating circuit H, to store the co-ordinate values of the three points,for example, a,, b, and c, shown in FIG. 7. These points include the solutions of the radius obtained by substituting the same angle of the aforementioned number ofv pairs into the three quadratic functions of the angle. A calculatin'g circuit H is connected to the registers R,, R, and R,, to set up a quadratic function of the lead L =f(z) which represents a curve smoothly connecting 'thethree points, for example, the points a,, b, and c,, which are represented by the three co-ordinates respectively having the same angle,for example, 0,. A register R,, is-con nected to the second calculating circuit H, to store the solution of the radius obtainedin the calculating circuit I-I when the leadz, is substituted into-the quadratic function of the lead. I

A comparator.C,'is connected to the datastorage register DR and the register R,, to compare the input angle data with the accumulated value of the unit angle 0,,to thereby enable discrimination of a large ,or small difference therebetween. A comparator C, is

. connected to the data storage register DR and the register R,, to compare the input lead data Zi ,withth'e accumulated value of the unit lead z,, to' therebyenable discrimination of a large or small difference therebetween. The comparators C, and C are further co nectedtothe data source DS in orderto' transmit new 1 profile data to the data storage register DRwhenthe next point to be interpolated is out of a given reference region defined by the derived poi nts mentioned above and I as described hereinafter; A conventional coordinate interpolatonUI, FIG. 1,is providedffor se'lectively reading out only the data necessaryto' interpolate the co-or'dinates of the helical working locus'as shown in FIG. 2 in the manrier d'escribed-above.- The coordinate values of each pointg iveiilby the interpolator UI are transmitted as a start and a terminal pointof the moving locus of the tool to the numerical controller NC which has a conventional pulse interpolator PI therein. The pulse interpolator PI is connected to theregisters R,,, R ,and R,, to change the values of the co-ordinates of the points A, B, C, on the helical working locus into pulse representation numbers thereof by counting fractions of 0.5 and over as a whole number and disregarding any remainders. The pulse interpolator Pl distributes electric pulses to interpolate the space between the start and the terminal points.

a. Before the three dimension surface on the workpiece can be produced,the peripheral end of the grinding wheel 14 is formed to a round shape by a suitable dressing device; The radius of the round shape must be determined so that a profile error effected thereby may be within an allowable tolerance.

Referring now to FIG. 4, wherein the radius r of the round shape is shown, the error AZ of the Z-axis and the error AL of the L-axis are represented as follows:

at an ordinary point Q( Li, Zi) on the curve L=f(Z) tan d) f(Zi) so 4) tan f(Zi) in right-angled-triangle OVQ Where gradient of the tangent oflhe point Q or the angle determined by the lines 00 and 66;

L=f(Z) is a quadratic function set up by the three adjacent points Pij, Pi +l,j l, and Pi 2,] vi- 2.

The error AL indicates an approximate error of the L-axis between the locus L =f(Z) of the actual grinding point Q and a locus Le=flZ-e) of the programmed grinding point S. Hereinafter,it is assumed that the error AL is approximately equalto T6. In the selection of the radius r so as to set the error AL below a predetermined allowable tolerance, a radius r satisfying the condition of AL e is utilized'and the equation (1) becomes the following equation:

e=Lif(Zi+AZ )-r l-cos) where e designates a predetermined value within the allowable tolerance;

From FIG. 4 it should be understood that the smaller the radius r, the smaller is the errors AZ and AL of the profile. Therefore,the radius r is set to be smaller in size than r However, by using a small r, the radial error AI will be. largewhen the lead Z of the helical locus of grindingis constant,as shown in .FIG. 5, In order to reduce the error A1 to less thanan allowable value,the lead Z must be defined smallto thereby'necessarily bring about the increase of the input data for the production of the three dimension surface and the reduction of machining efficiency. Accordingly,the value of be selected less than and close the the ra- In the selection, of the lead Z to make the radial error A] less than anfallowabletolerance 8 if a lead value satisfying the'conditionAl 8 is utilized,then the equation (2) is chan ed as follows:

s=,- x Tf/. k v Therefore',although thele'ad Z may be set we value smaller in size than that of the lead Z0, it is desirable to set the same as close to the Z0 value as possible in consideration of the increase of input data and the machining efficiency as mentioned above.

0. Next, a dividing rotary or unit angle of the workpiece must be decided so that the profile error of each section perpendicular to the workpiece axis may become less than an allowable tolerance. In this case, it must be noted that the profile accuracy of each section is affected by the radius of the grinding wheel 14; The affection of the radius may be substantially disregarded because ofa small amount of offset of the cutter diameter when a workpiece close to true circulars and having a small ellipticity or a small cam lift amount is ground to a three dimension surface. However,it cannot be disregarded in the case of a workpiece having a large ellipticity or a large cam lift amount. In this case,the input data is amended to compensate for the error caused by the amount of offset of the cutter diameter. The unit angle is decided in accordance with an amended input data as described below. The amended data 0 and 1 are represented as follows:

I /(R+L) (L) R where R radius of the grinding wheel; work piece rotary angle not amended; L differentiation of L with respect to A detailed description of the aforementioned formulas need not be given since such formulas are well known to those skilled in the art (see United States Pat. No.-3,6l9,58 l assignor to Toyoda Koki Kabushiki Kaisha and Kabushiki Kaisha Toyota Chuo Kenkyusho).

Hereinafter,a manner is described for checking for error in the selection of the unit angle. In case the unit angle makes an angle of 0, (360 is exactly divisible by 0 a lift curve designated as a part of the oval line in FIG. 6 is approximated by a straight line segment PoPn. The profile curve of the workpiece produced by grinding is represented as a curve close to the Arukimedesu curve because the 0 is rendered as a rotary angle in thegrinding operation. The equation of the straight line segment TFFn is represented as follows:

When Pi is represented by the straight line of equation (3),an error ALi is re resented as follows:

when all points Po lto Pn l, inclusive,satis'fy the 7 0,. The lift curve is approximated by straight linesegments which connect the points by which the lift curve is divided at'regular intervals of the'unit angle 0,. The aforementioned check operation for error is performed about each different ellipticity. The number of dividing points to be interpolated may be reducedby taking a larger dividing angle with respect to a portion having a small ellipticity. Y

After the radius r of the round portion of thegrinding wheel 14, the lead Z of the helical locus and the unit angle 0, are decided as mentioned above, a coordinates interpolation of interpolating points A, B, C, to control the relative displacement of the tool along the helical locus is performed as follows: I. Interpolation of the point A (Referring to FIG. 7)

1. A quadratic function L =f,() smoothly connecting points P,,, P and P is set up by the co-ordinate values of the points P,,, P and P 2. The co-ordinate value of the point a, is set up by substituting 9, into the function L=f,(9).

3. A quadratic function L=f (0) smoothly connecting points P P and I is set up by the co-ordinate values of the points P P and P 4. The co-ordinate value of the point b, is set up by substituting 6, into the function L=f (0).

5. A quadratic function L=f (6) smoothly connecting points P P and P is set up by the co-ordinate values of the points P P and P 6. The co-ordinate value of the point 0, is set up by substituting 0, into the function L=f (6).

7. A quadratic function L=f,,,(Z) smoothly connecting points a,, b, and c, is set up by the co-ordinate values of the points a,, b, and c,.

8. A lead z,.per the dividing angle 0, is represented as follows:

9. The co-ordinate value 1, of point A is set up by substituting z, into the function L=f ,,,(Z). The coordinate value I, of the point A is changed to a pulse representation numberl, therefore by counting fractions of 0.5 and over as a whole number and disregarding the remainder. In the same manner the angle 6, and the lead z, are changed to their pulse representation numbers 0, and z,',res'pectively. Thus,the co-ordinates of the pulse representation numbers 0,, l, and z, of the point A are setup.

The aforementioned procedure is described in detail hereinafter with reference to the block diagram of FIG. 3. The data source DS stores the co-ordinates of all of the P m 21i m] 12, 22 mz: i In Pmn) of the peripheral surface of the workpiece W.

The data of the points P,,, P P,,,, P P P P, P,

and P which is necessary to interpolate the point Ais applied from 'the data source DS' to the data storage register DR and is stored in the data storage register DR. The co-ordinate values of the points P,,, P,, and P are first transmitted to the calculating circuit H, wherein the quadratic function L=f,(0) is set up. The value ofB, set up by the first calculation of the accumu lator T, is shiftedto be stored in the register R and is substituted into the quadratic function L=f,(0). The solution (the co ordinate ,valueof the point a,) of the function L=f,( 0)-is stored in the register R,. Ne xt,the co-ordinate values of the points P P and P are transmitted to the-calculating circuit H, wherein the quadratic function L=f (0) is set up. The value of 0, which is'transrriitted from the register R is substituted into the quadratic function L=f (0) and the solution thereof (the co-ordinate value of the point b,) is transmitted to and stored in the register R Furthe rmore,the co-ordinate values of the points P P and P are applied to the calculating circuit H, wherein the quadratic function L=f (0) is set up, The value of 0, issubstituted into the function L=f (0). The solution (the coordinate value of the point c,) of the function L=f,,(0) is transmitted'to and stored in the register R The values of the registers, R,, R and R are transmitted to the calculating circuit H wherein a quadratic function L=f,,,(Z) for smoothly connecting the three points a,, b, and c, is set up. The value of 2, which is stored in the register R by the first addition of the accumulator T, is substituted into the quadratic function L=f, (Z). The solution 1, (the co-ordinate value of the point A) of the function L=f, (Z) is transmitted to and stored in the register R The value of 1, is also transmitted to the pulse interpolator PI together with the values of 9, and z, which are respectively stored in the registers R and R The values of 1,, 0 and z, are changed to pulse representation numbers by counting fractions of 0.5 and over as a whole number and disregarding the remainder in the pulse interpolator PI. The pulse interpolation of the straight line segment having the start point P,, and the terminal point A is then performed to thereby generate pulse signals which are simultaneously distributed to the output terminals U,, U and U of the pulse interpolator which correspond to the three axes. The pulse signals are transmitted to each of the servo-motors 17, 22 and 32 in order to simultaneously control the rotation of the workpiece W, the transverse feed of the grinding wheel 14, and the traverse feed of the workpiece W. Thus, a three dimension surface is formed on the-workpiece W. Moreover, although the quadratic function is used as an equation for smoothly connecting the three points, an equation of a higher degree, such as the third or the fourth degree may be used as a function of the curve for smoothly connecting four points and over.

II. Interpolation of the point B.

The operation to set up the co-ordinate value of the point B is performed in nearly the same manner as that of setting up the point A. Since the position of the point B is out of theregion surrounded by the points P,',, P P and P,,, as shown in FIG. 7, the co-ordinates interpolation of the point B is performed on the basis of the curved surface defined by the points P P P and P so as to provide a higher accuracy. Therefore,a discrimination as described belowis performed to change the reference curved surface for the eo-ordinates interpolation. v I

First of all, the sizes of 0 and and. of z, and Z, are respectively compared by the individual comparators C, and C of FIG. 3, to discriminate whetherthe next point B is in or out of the region surrounded by the points P P P and P When gates G, and G are opened by the completion ofthe pulse distribution of the point A, a second addition is performed by the adders T, and T to thereby change the 0, to 6, (equal to 20,) and the z, to 2 (equal to 2z,). The values of 9 and z, are storedin the registers R, and R and are respectively applied to the input terminals of the comparators C, and C The'other input. terminals of. the comparators C, and C, have respectively applied thereto the angle ,and the lead Z, by-the data storage register DR. As a result of the comparison,when the values of 0 and z, are larger than those of and Z, new data is transmitted from the data source DS to the data storage register DR to change the reference curved surface. On the other hand,when the values of 0, and z; are smaller than those of and 2,, new datais not transmitted to the data storage register DR because the first (l-l The co-ordinates of the points a b and c are set up by substituting the 6 into the equations L=f,(), f2( and fa( (1-2) A function L=f (Z) is set up by the points a b and c (l-3) A co-ordinate value l is set up by substituting the Z2 into the function L=f (Z).

The co-ordinate value 1 of the point B is changed to a pulse representation number 1 by counting fractions of 0.5and over as a whole number and disregarding the remainder. In the same manner, the angle 0 and the lead 1 are changed to their pulse representation numbers 0 and z ,respectively. Thus,the co-ordinates of the pulse representation numbers 6 1 and of the point B are set up.

2. in case 0 2 Z2 Z,

(2-1) Quadratic functions L=f, (0), L=f, (0) and L=f, (6) are set up by the points P P; and P the points P P and P and the points P P and P ,respectively.

(2-2) The co-ordinates of the points a b and c are set up by substituting the 0 into the functions L=f ,(0), L=f, (0) and L=f, (0), respectively.

- (2-3) A function L=f (Z) is set up by the points a [1 and c (2-4) The co-ordinate value 1 of the point B is set up by substituting the z into the function L=f (Z). The co-ordinate value l is changed to a pulse representation number 1 by counting fractions of 0.5 and over as a whole number and disregarding the remainder. In the same manner,pulse representation numbers 0 and are represented with respect to the 0 and the z respectively. Thus,the co-ordinates of the pulse representation numbers 0 1 and of thepoint B are set up. 3. in case 6 2 a Z,

(3-1) A quadratic function L-"f (6) is set up by the points P P and P (3-2) The co-ordinates of the points b c and d are set up by substituting the 6 into the functions L=f (6), L=f (6),and L# ('0).

(3-3) A function L=f (Z) is set up by the points b c and d (3-4) The co-ordinate value 1 of the point B is set up by substituting the 2 into the function L==f ,(Z). The co-ordinate value'l is changed to a pulse representation number 1 by counting fractions of 0.5 and over as a whole number and disregarding the remainder. [n the same manner,-the angle 0, and the lead z are changed to their pulse representation numbers 0 and z,',respectively. Thus,the co-ordinates of the pulse representation numbers 6,, l and 2 of the point B are set up. 4; in case 0 2 Z (4-1) Quadratic functions L=f, (6), L=f, (0) and L,=f,,,(0) are set up by the points P P and P the points P P and P and the points P P and spectively (4-2) The co-ordinates of the points b c and d are set up by substituting the 0 into the functions L=f (0), fra( f14( (4-3) A'quadratic function L=f (Z) is set up by the points b c and d I i (4-4) The co-ordin'ate value 1 of the point B is set up by substituting the z, into the function L=f (Z). The co-ordinates of the pulse representation numbers 0 I and 1 of the point B are set up by counting fractions of 0.5 and over as a whole number and disregarding the remainder with respect to the co-ordinate values 0;, l and z,;.

As mentioned hereinbefore,the reference curved surfaces are changed in accordance with the result of the discrimination performed by the comparators C and C2.

The co-ordinates interpolation of the point B shown in FlG. 7 is performed in the procedural order of (2-l (2-2), (2-3) and (2-4). The pulse interpolation having a start point A and a terminal point B is performed by the pulse interpolator Pl.

IIl. Interpolation of the point C The sizes of 0 (equal to 36,) and (ED 2 and of 2 (equal to 321) and Z are respectively compared by the individual comparators C, and C to discriminate whether the point C is in or out of the region surrounded by the predetermined points P P P and P When the point C is out of the region,the region is shifted in the direction of 6 or Z so as to contain the point C therein. Next,new quadratic functions which smoothly connect the three points are set up by the three points relating to the shifted region. Thus,it is necessary that the co-ordinates interpolation of the point C be performed. When the position of the point C is in the same region with point B as shown in FIG. 7, the procedure of the point C is as follows:

1. The co-ordinates of the points a b and c are set up by substituting the 0 into the function L=f (6), L=f, (6) and L=f, (0), respectively.

2. An equation L=f (Z) is set up by the points 0 b and c L 3. The co-ordinate value 1 of the point c is set up by substituting the into the function L=f (Z). The fractions of 6 l and Z3 are arranged to be changed to the.

co-ordinate values 0 i and 2 available in pulse control systems. IV Interpolation of the point D I Since the point D is out of the region which includes the points B and C therein,the region is shifted in the direction of 0 and Z so as to include the point D therein,and in turn quadratic functions which smoothly connect the three points are set up. The co-ordinates of the point D are interpolated in accordance with the same manner as with the points A, B and C.

Other co-ordin'ates interpolations of the points E, F, are performed in the same manner as mentioned above. The co-ordinate values of each point set up are applied to the pulse interpolator Pl. Thus, the motions of the aforementioned machining devices are cooperatively controlled in accordance with the given data of the profile to thereby produce the desired three dimension surface on the workpiece.

According to the aforementioned machining system,- the points on the operating locus of the tool are helically interpolated by an arbitrary interval density with reference to the data of the three dimension surface which are given in the form ofa roup of separate numbers of workpiecerotary angle lift 1 and lead z. As

a result, enough machining accuracy can be obtained even if the density of a given profile data is not high. Moreover,the lead,t'he divided angle and the radiusof the peripheral end of the grinding wheel,which decide the moving locus of the tool,are set up so that any error vmany modifications and variations thereof are possible in light ofthe above teachings. It is to be understood, therefore, that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.

What is claimed as new and desired to be secured by LettersPatent of the United States is:

1. in a numerically controlled machine tool having at least onecontroller and a pulse distributing system for generating an approximate three dimension surface on -a workpiece by controlling the cooperational movements of the workpiece and an operative tool in response to input data, the improvement in said pulse distributing system comprising:

means for storing vsaid input data of all co-ordinates of points representing said three dimension surface; storage means for storing the data of co-ordinates of N (N 3) points derived from said input data,

said N points defining a region;

accumulator means for producing a number of pairs eachconsisting of an angle and a lead by accumulating a unit angle and a unit lead corresponding to said unit angle in order to represent a predetermined helical working locus, said unit angle and said unit lead being predetermined so that a profile error effected thereby may be within an allowable tolerance;

first calculating means connected to said storage means for setting up a function of an angle L=f(6) by the co-ordinates of the three points in said region on the -L co-ordina tes in order to calculate the value of said function of the angle with respect to the angle of said number of pairs, said function representing a curve smoothly connecting said three points;

register means for storing at least the three values calculated in said first calculating means with respect to the angle of said number, of pairs;

said calculating means being connected to said accumulator means and said register means for setting up a function of a lead L=f (z) on the 2-1.. coordinates in accordance with said three calculated values in order to calculate the radius of a point represented by said number of pairs by substituting the lead corresponding to the angle of said number of pairs into said function of the lead; and

interpolating means connected to said accumulator means and said second calculating means for distributing electric pulses to at least one controller of said machine tool along said point represented by said number of pairs and said calculated radius.-

2. A numerically controlled machine tool as recited in claim 1, in which said accumulator means comprises:

a first accumulating means for accumulating said unit angle predetermined so as to divide said predetermined helical working locus at constant angular intervals in order to produce the co-ordinates of an angle of said point; and

a second accumulating means for accumulating said unit lead corresponding to said unit angle in order to produce the co-ordinates of a lead of said point for dividing the lead of said predetermined helical working locus at regular intervals.

3. A numerically controlled machine tool as recited in claim 1, which further comprises comparing means connected to said accumulator means and said storage means for discriminating whether said point is in or out of said region defined by the co-ordinates of said N 40 points. 

1. In a numerically controlled machine tool having at least one controller and a pulse distributing system for generating an approximate three dimension surface on a workpiece by controlling the cooperational movements of the workpiece and an operative tool in response to input data, the improvement in said pulse distributing system comprising: means for storing said input data of all co-ordinates of points representing said three dimension surface; storage means for storing the data of co-ordinates of N2 (N > OR = 3) points derived from said input data, said N2 points defining a region; accumulator means for producing a number of pairs each consisting of an angle and a lead by accumulating a unit angle and a unit lead corresponding to said unit angle in order to represent a predetermined helical working locus, said unit angle and said unit lead being predetermined so that a profile error effected thereby may be within an allowable tolerance; first calculating means connected to said storage means for setting up a function of an angle L f ( theta ) by the coordinates of the three points in said region on the H -L coordinates in order to calculate the value of said function of the angle with respect to the angle of said number of pairs, said function representing a curve smoothly connecting said three points; register means for storing at least the three values calculated in said first calculating means with respect to the angle of said number of pairs; second calculating means being connected to said accumulator means and said register means for setting up a function of a lead L f (z) on the Z-L co-ordinates in accordance with said three calculated values in order to calculate the radius of a point represented by said number of pairs by substituting the lead corresponding to the angle of said number of pairs into said function of the lead; and interpolating means connected to said accumulator means and said second calculating means for distributing electric pulses to at least one controller of said machine tool along said point represented by said number of pairs and said calculated radius.
 2. A numerically controlled machine tool as recited in claim 1, in which said accumulator means comprises: a first accumulating means for accumulating said unit angle predetermined so as to divide said predetermined helical working locus at constant angular intervals in order to produce the co-ordinates of an angle of said point; and a second accumulating means for accumulating said unit lead corresponding to said unit angle in order to produce the co-ordinates of a lead of said point for dividing the lead of said predetermined helical working locus at regular intervals.
 3. A numerically controlled machine tool as recited in claim 1, which further comprises comparing means connected to said accumulator means and said storage means for discriminating whether said point is in or out of said region defined by the co-ordinates of said N2 points. 